// D:\开发软件\Microsoft VS Code\resources\app\node_modules.asar.unpacked\vscode-ripgrep\bin
import Vue from 'vue'
import 'jquery'
import Antd from 'ant-design-vue'
import VueI18n from 'vue-i18n'
import 'ant-design-vue/dist/antd.css'
import App from './App.vue'
import router from './router'
import store from './store'
import { post, get } from './api/http'
//
import pk from '@/public/public'
Vue.prototype.$pk = pk

import dataV from '@jiaminghi/data-view'
Vue.use(dataV)
// loading 组件
import Loading from 'vue-loading-spin'
import 'vue-loading-spin/dist/loading.css'

// VUE use
Vue.use(Loading)
// or with options
// Vue.use(Loading, {
//   isFixed: true, // 是否固定位置，默认为true
//   isComponent: true, // 是否自动注册为全局组件，如果设置为false就不会注册成组件来使用
//   isShowAnimation: true, // 是否显示动画效果，默认为true
// })

//进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
Vue.use(NProgress)
// 播放器
import VideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css'
Vue.use(VideoPlayer)
import { slider, slideritem } from 'vue-concise-slider'
Vue.component('slider', slider)
Vue.component('slideritem', slideritem)

// 图片预览插件
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer)
// mock
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
// import './mock'
// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
// // 手动引入 ECharts 各模块来减小打包体积
import 'echarts/lib/chart/bar'
import 'echarts/lib/component/tooltip'

// // 如果需要配合 ECharts 扩展使用，只需要直接引入扩展包即可
// // 以 ECharts-GL 为例：
// // 需要安装依赖：npm install --save echarts-gl，并添加如下引用
import 'echarts-gl'
// // 注册组件后即可使用

import layer from 'vue-layer'
import 'vue-layer/lib/vue-layer.css'
Vue.prototype.$layer = layer(Vue)

import './utils/filter' // global filter
Vue.use(Antd)
Vue.use(VueI18n)
Vue.prototype.$post = post
Vue.prototype.$get = get
// 环境的切换
if (process.env.NODE_ENV == 'development') {
  Vue.prototype.$host = 'http://192.168.1.10:7088'
  // Vue.prototype.$host = 'http://192.168.1.10:44323'

  // Vue.prototype.$host = 'http://127.0.0.1:8099'
} else if (process.env.NODE_ENV == 'debug') {
} else if (process.env.NODE_ENV == 'production') {
  Vue.prototype.$host = 'http://10.114.20.142:7088'
}

Vue.config.productionTip = false

// vue全局异常处理
Vue.config.errorHandler = function(err, vm, info) {
  // handle error
  // `info` 是 Vue 特定的错误信息，比如错误所在的生命周期钩子
  // 只在 2.2.0+ 可用
  const componentName = formatComponentName(vm)
  console.log(componentName, err, vm)
}
// 获取组件的名称
function formatComponentName(vm) {
  if (vm.$root === vm) return 'root'
  const name = vm._isVue
    ? (vm.$options && vm.$options.name) ||
      (vm.$options && vm.$options._componentTag)
    : vm.name
  return (
    (name ? 'component <' + name + '>' : 'anonymous component') +
    (vm._isVue && vm.$options && vm.$options.__file
      ? ' at ' + (vm.$options && vm.$options.__file)
      : '')
  )
}
export const i18n = new VueI18n({
  locale: 'CN',
  messages: {
    CN: require('./assets/lang/cn'),
    EN: require('./assets/lang/en'),
  },
})
new Vue({
  router,
  store,
  i18n,

  render: (h) => h(App),
}).$mount('#app')
